package org.game.module.core;

import com.sojoys.artifact.exception.AbstractLogicModelException;
import com.sojoys.artifact.factory.session.ISession;
import com.sojoys.artifact.core.IModule;
/** 
 * 核心
 */
public interface Core extends IModule {
	byte classCode = 1;
	
	/** 进入游戏 [code = 257] */
	short enterGame = 257; 
	/** 退出游戏 [code = 258] */
	short logoutGame = 258; // 推送类型
	/** 修改语言 [code = 259] */
	short updateLanguage = 259; 
	/** 修改信息 [code = 260] */
	short setPlayerInfo = 260; 
	/** 断线重连 [code = 261] */
	short reconnect = 261; 
	/** 心跳 [code = 262] */
	short heartbeat = 262; 
	/** 推送公告 [code = 263] */
	short pushNotice = 263; // 推送类型
	/** 阵型操作 [code = 264] */
	short operate = 264; 
	/** 取得全部阵型 [code = 265] */
	short getFormations = 265; 
	/** 取得玩家信息 [code = 267] */
	short getPlayerInfo = 267; 
	/** 获取服务器时间 [code = 268] */
	short getServerTime = 268; 
	/** 修改助战单位 [code = 269] */
	short changeHelpFightHero = 269; 
	/** 礼包码 [code = 270] */
	short giftCode = 270; 
	/** 取得目标玩家信息 [code = 271] */
	short reqTargetPlayerInfo = 271; 
	/** 切换阵型 [code = 272] */
	short switchFormation = 272; 
	/** 取得助战玩家 [code = 273] */
	short getHelpFightPlayer = 273; 
	/** 测试消息 [code = 274] */
	short reqTest = 274; 
	/** 购买资源 [code = 275] */
	short buyResources = 275; 
	/** 资源购买记录 [code = 276] */
	short buyResourcesLog = 276; 
	/** 玩家属性更新 [code = 277] */
	short notifyPlayerAttr = 277; // 推送类型
	/** 上传前台离散数据 [code = 278] */
	short reqNewPlayerGuide = 278; 
	/** 记录前台异常 [code = 279] */
	short recordClientErr = 279; 
	/** 取得功能开关 [code = 280] */
	short getFunctionSwitch = 280; 
	/** 上传系统设置 [code = 281] */
	short uploadSettings = 281; 
	
	
	/** 进入游戏 [code = 257] */
	byte[] enterGame(ISession session, org.game.protobuf.c2s.C2SLoginMsg.EnterGame enterGame) throws AbstractLogicModelException;
	
	
	/** 修改语言 [code = 259] */
	byte[] updateLanguage(ISession session) throws AbstractLogicModelException;
	
	/** 修改信息 [code = 260] */
	byte[] setPlayerInfo(ISession session, org.game.protobuf.c2s.C2SPlayerMsg.SetPlayerInfo param) throws AbstractLogicModelException;
	
	/** 断线重连 [code = 261] */
	byte[] reconnect(ISession session, org.game.protobuf.c2s.C2SLoginMsg.ReqReconnect param) throws AbstractLogicModelException;
	
	/** 心跳 [code = 262] */
	byte[] heartbeat(ISession session) throws AbstractLogicModelException;
	
	
	/** 阵型操作 [code = 264] */
	byte[] operate(ISession session, org.game.protobuf.c2s.C2SPlayerMsg.OperateFormation msg) throws AbstractLogicModelException;
	
	/** 取得全部阵型 [code = 265] */
	byte[] getFormations(ISession session) throws AbstractLogicModelException;
	
	/** 取得玩家信息 [code = 267] */
	byte[] getPlayerInfo(ISession session) throws AbstractLogicModelException;
	
	/** 获取服务器时间 [code = 268] */
	byte[] getServerTime(ISession session, org.game.protobuf.c2s.C2SLoginMsg.ReqServerTime reqServerTime) throws AbstractLogicModelException;
	
	/** 修改助战单位 [code = 269] */
	byte[] changeHelpFightHero(ISession session, org.game.protobuf.c2s.C2SPlayerMsg.ChangeHelpFightHero param) throws AbstractLogicModelException;
	
	/** 礼包码 [code = 270] */
	byte[] giftCode(ISession session, org.game.protobuf.c2s.C2SLoginMsg.GiftCode param) throws AbstractLogicModelException;
	
	/** 取得目标玩家信息 [code = 271] */
	byte[] reqTargetPlayerInfo(ISession session, org.game.protobuf.c2s.C2SPlayerMsg.ReqTargetPlayerInfo param) throws AbstractLogicModelException;
	
	/** 切换阵型 [code = 272] */
	byte[] switchFormation(ISession session, org.game.protobuf.c2s.C2SPlayerMsg.ReqSwitchFormation param) throws AbstractLogicModelException;
	
	/** 取得助战玩家 [code = 273] */
	byte[] getHelpFightPlayer(ISession session) throws AbstractLogicModelException;
	
	/** 测试消息 [code = 274] */
	byte[] reqTest(ISession session, org.game.protobuf.c2s.C2SLoginMsg.ReqTestMsg msg) throws AbstractLogicModelException;
	
	/** 购买资源 [code = 275] */
	byte[] buyResources(ISession session, org.game.protobuf.c2s.C2SPlayerMsg.ReqBuyResources msg) throws AbstractLogicModelException;
	
	/** 资源购买记录 [code = 276] */
	byte[] buyResourcesLog(ISession session, org.game.protobuf.c2s.C2SPlayerMsg.ReqBuyResourcesLog msg) throws AbstractLogicModelException;
	
	
	/** 上传前台离散数据 [code = 278] */
	byte[] reqNewPlayerGuide(ISession session, org.game.protobuf.c2s.C2SPlayerMsg.ReqNewPlayerGuide msg) throws AbstractLogicModelException;
	
	/** 记录前台异常 [code = 279] */
	byte[] recordClientErr(ISession session, org.game.protobuf.c2s.C2SPlayerMsg.RecordClientErr msg) throws AbstractLogicModelException;
	
	/** 取得功能开关 [code = 280] */
	byte[] getFunctionSwitch(ISession session) throws AbstractLogicModelException;
	
	/** 上传系统设置 [code = 281] */
	byte[] uploadSettings(ISession session, org.game.protobuf.c2s.C2SPlayerMsg.Settings settings) throws AbstractLogicModelException;
	
}